package com.youhome.service.service;

import com.youhome.service.model.ZipCode;
import org.springframework.ui.Model;

/**
 * Created by chen365 on 2019/05/27.
 */
public interface ReportZilLowService {

    /***
     * 买卖指数 non-time
     * @param model model
     * @param zipCode 邮编
     * @param dataType 数据类型 zip,city,state,metro
     * @param year 年
     */
    void buyer_seller_index(Model model, ZipCode zipCode, String dataType, Integer year);

    /***
     * 滑动平均值销售存量 time
     * @param model model
     * @param zipCode 邮编
     * @param dataType 数据类型 zip,city,state,metro
     * @param year 年
     */
    void inventory_measure_ssa_public(Model model, ZipCode zipCode, String dataType, Integer year);

    /***
     * 销售存量 time
     * @param model model
     * @param zipCode 邮编
     * @param dataType 数据类型 zip,city,state,metro
     * @param year 年
     */
    void inventory_measure_public(Model model, ZipCode zipCode, String dataType, Integer year);

    /**
     * 市场健康指数 non-time
     * @param model model
     * @param zipCode 邮编
     * @param dataType 数据类型 zip,city,state,metro
     * @param year 年
     */
    void market_health_index(Model model, ZipCode zipCode, String dataType, Integer year);

    /**
     * 降价幅度比例-全部 time
     * @param model model
     * @param zipCode 邮编
     * @param dataType 数据类型 zip,city,state,metro
     * @param year 年
     */
    void listings_price_cut_seas_adj_all_homes(Model model, ZipCode zipCode, String dataType, Integer year);

    /**
     * 降价幅度比例-公寓 time
     * @param model model
     * @param zipCode 邮编
     * @param dataType 数据类型 zip,city,state,metro
     * @param year 年
     */
    void listings_price_cut_seas_adj_condominum(Model model, ZipCode zipCode, String dataType, Integer year);

    /**
     * 降价幅度比例-独栋 time
     * @param model model
     * @param zipCode 邮编
     * @param dataType 数据类型 zip,city,state,metro
     * @param year 年
     */
    void listings_price_cut_seas_adj_single_family_residence(Model model, ZipCode zipCode, String dataType, Integer year);

    /**
     * 降价幅度金额-全部	time
     *
     * @param model    model
     * @param zipCode  邮编
     * @param dataType 数据类型 zip,city,state,metro
     * @param year     年
     */
    void median_price_cut_dollar_all_homes(Model model, ZipCode zipCode, String dataType, Integer year);

    /**
     * 降价幅度金额-公寓	time
     *
     * @param model    model
     * @param zipCode  邮编
     * @param dataType 数据类型 zip,city,state,metro
     * @param year     年
     */
    void median_price_cut_dollar_condominum(Model model, ZipCode zipCode, String dataType, Integer year);

    /**
     * 降价幅度金额-独栋	time
     *
     * @param model    model
     * @param zipCode  邮编
     * @param dataType 数据类型 zip,city,state,metro
     * @param year     年
     */
    void median_price_cut_dollar_single_family_residence(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_listing_price_1bedroom(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_2bedroom(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_3bedroom(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_4bedroom(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_5bedroom_or_more(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_all_homes(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_condo_coop(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_duplex_triplex(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_sfr(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_listing_price_per_sqft_1bedroom(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_per_sqft_2bedroom(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_per_sqft_3bedroom(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_per_sqft_4bedroom(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_per_sqft_5bedroom_or_more(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_per_sqft_all_homes(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_per_sqft_condo_coop(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_per_sqft_duplex_triplex(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_listing_price_per_sqft_sfr(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_pct_of_price_reduction_all_homes(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_pct_of_price_reduction_condominum(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_pct_of_price_reduction_single_family_residence(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_1bedroom(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_rental_price_2bedroom(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_rental_price_3bedroom(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_rental_price_4bedroom(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_rental_price_5bedroom_or_more(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_rental_price_all_homes(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_condo_coop(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_duplex_triplex(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_mfr_5plus(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_sfr(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_studio(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_per_sqft_1bedroom_result(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_rental_price_per_sqft_2bedroom_result(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_rental_price_per_sqft_3bedroom_result(Model model, ZipCode zipCode, String dataType, Integer year);
    void median_rental_price_per_sqft_4bedroom_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_per_sqft_5bedroom_or_more_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_per_sqft_all_homes_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_per_sqft_condo_coop_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_per_sqft_duplex_triplex_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_per_sqft_mfr_5plus_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_per_sqft_sfr_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_rental_price_per_sqft_studio_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_value_per_sqft_all_homes_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void pct_of_homes_decreasing_in_values_all_homes_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void pct_of_homes_increasing_in_values_all_homes_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void pct_of_listings_with_price_reductions_all_homes_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void pct_of_listings_with_price_reductions_condominum_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void pct_of_listings_with_price_reductions_single_family_residence_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void price_to_rent_ratio_all_homes_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_1bedroom_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_2bedroom_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_3bedroom_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_4bedroom_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_5bedroom_or_more_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_all_homes_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_bottom_tier_yoy_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_bottom_tier_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_condominum_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_middle_tier_yoy_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_middle_tier_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_single_family_residence_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_summary_all_homes_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_top_tier_yoy_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zhvi_top_tier_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zri_all_homes_summary_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zri_all_homes_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zri_all_homes_plus_multifamily_summary_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zri_all_homes_plus_multifamily_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zri_multifamily_residence_rental_summary_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zri_multifamily_residence_rental_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zri_single_family_residence_rental_summary_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zri_single_family_residence_rental_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zri_per_sqft_all_homes_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void breakeven_pr_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void mortgage_affordability_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void price_to_income_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void rent_affordability_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void zri_forecast_public_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void sale_to_list_ratio_city_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void days_on_market_city_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_listing_price_bottom_tier_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void median_listing_price_top_tier_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void sale_counts_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void sale_counts_seas_adj_city_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void sale_prices_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void mortgage_rate_jumbo_fixed_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void mortgage_rate_conventional_fixed_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void inventory_measure_tiers_metro_public_count_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void inventory_measure_tiers_metro_public_pct_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void negative_equity_metro_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void negative_equity_city_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void monthly_turnover_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void foreclosures_per_10k_homes_result(Model model, ZipCode zipCode, String dataType, Integer year);

    void affordability_income_result(Model model, ZipCode zipCode, String dataType, Integer year);
}
